This invention relates to a method of operating a buffer memory to provide a trigger pattern.
A buffer memory is a random access memory having memory locations that map to map to displayable pixels of an imaging device. For example, a buffer memory may be used to store a virtual image of a display that is to be provided on a cathode ray tube (CRT) display device of a rasterscan oscilloscope. In this case, the pixels of the imaging device are addressed in accordance with a raster-scan pattern and the contents of the buffer memory are used to determine the intensity with which each pixel of the display device is illuminated.
An oscilloscope is conventionally used to display a waveform representative of change of a first variable as a function of a second variable. It will be convenient in the following description to assume from time to time that the first variable is the magnitude of a measured quantity and that the second variable is time, so that the waveform represents magnitude of the measured quantity as a function of time, but it will be understood that the second variable need not be time or even related to time. In a known rasterscan oscilloscope, waveform data composed of a stream of pairs of related data words is acquired. One word of each pair represents the value of a first variable and the other word of the pair represents the value of a second variable. Typically, the first variable is the magnitude of a sample of a signal existing at a test point and the second variable is the time at which the sample was taken. The range of values of the first variable is transformed so that it is the same as the range of the address space of the oscilloscope's display device along the vertical deflection axis, and the range of values of the second variable is transformed so that it is the same as the range of the address space of the display device along the horizontal deflection axis. Each pair of related data words in the waveform data then defines a discrete location in the address space of the display device. For each such pair, the content of the corresponding memory location of the buffer memory is read, incremented and written back to the same memory location. A display of the contents of the buffer memory illustrates graphically the function that relates the first variable to the second variable, and the relative intensities of the pixels represents the relative frequencies of occurrence of the various events defined by the pairs of related digital words.
U.S. Pat. No. 4,510,571 (Dagostino et al) discloses a vector digital oscilloscope having an acquisition waveform memory into which sample values are loaded in linear fashion and a reference waveform memory in which sample values representing a reference waveform are stored. The waveform record stored in the acquisition waveform memory is compared with the waveform record stored in the reference waveform memory, and when a deviation from the reference waveform, beyond a predetermined tolerance, is detected in a newly acquired waveform, a record of the new waveform is stored in a changed waveform memory.
It is known to test waveform data representing signal magnitude as a function of time to determine whether the signal magnitude falls within an envelope by storing pairs of minimum and maximum values associated with the sample times respectively. When a new sample value is acquired, it is compared with the maximum and minimum values for the sample time. Typically, if the new sample value is not between the minimum and maximum values, a trigger is generated to initiate termination of the signal acquisition.
This type of envelope testing is subject to disadvantage since it is limited to a single pair of minimum and maximum values for each sample time and therefore is applicable only to single-valued waveforms. It is necessary to perform memory access operations to read the minimum and maximum values and carry out the comparison.
A generalization of envelope testing is accomplished by defining polygons in a display space and converting each polygon into an envelope of min-max pairs. As each sample value is processed, it is compared to an envelope data base. If the data point is within the X-extent of an envelope, and is between the minimum and maximum values of Y for that X point of the envelope, a trigger is generated. This envelope testing procedure requires several steps to determine if a single data point justifies a trigger.